<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/GalaxyZoo.Client.Model" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/GalaxyZoo.Client.Model" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="AssetCollection">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AbstractGalaxyZooObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Items" nillable="true" type="tns:ArrayOfAsset" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="AssetCollection" nillable="true" type="tns:AssetCollection" />
  <xs:complexType name="AbstractGalaxyZooObject">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="AbstractGalaxyZooObject" nillable="true" type="tns:AbstractGalaxyZooObject" />
  <xs:complexType name="ArrayOfAsset">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Asset" nillable="true" type="tns:Asset" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAsset" nillable="true" type="tns:ArrayOfAsset" />
  <xs:complexType name="Asset">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AbstractGalaxyZooObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="ExternalRef" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Location" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Metadata" nillable="true" type="tns:Metadata" />
          <xs:element minOccurs="0" name="Passed" type="xs:boolean" />
          <xs:element minOccurs="0" name="ProjectId" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Asset" nillable="true" type="tns:Asset" />
  <xs:complexType name="Metadata">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AbstractGalaxyZooObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ImageId" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="InstrumentId" type="xs:int" />
          <xs:element minOccurs="0" name="LatitudeCenter" type="xs:double" />
          <xs:element minOccurs="0" name="LatitudeMax" type="xs:double" />
          <xs:element minOccurs="0" name="LatitudeMin" type="xs:double" />
          <xs:element minOccurs="0" name="LongitudeCenter" type="xs:double" />
          <xs:element minOccurs="0" name="LongitudeMax" type="xs:double" />
          <xs:element minOccurs="0" name="LongitudeMin" type="xs:double" />
          <xs:element minOccurs="0" name="MapResolution" type="xs:double" />
          <xs:element minOccurs="0" name="MaxTileX" type="xs:int" />
          <xs:element minOccurs="0" name="MaxTileY" type="xs:int" />
          <xs:element minOccurs="0" name="RegionId" type="xs:int" />
          <xs:element minOccurs="0" name="X" type="xs:int" />
          <xs:element minOccurs="0" name="Y" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Metadata" nillable="true" type="tns:Metadata" />
  <xs:complexType name="ArrayOfMetadata">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Metadata" nillable="true" type="tns:Metadata" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfMetadata" nillable="true" type="tns:ArrayOfMetadata" />
  <xs:complexType name="RoverImageMetaData">
    <xs:sequence>
      <xs:element minOccurs="0" name="Filter" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ImageId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Instrument" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LowResolutionImageId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MarsSol" type="xs:int" />
      <xs:element minOccurs="0" name="MediumResolutionImageId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MissionId" type="xs:int" />
      <xs:element minOccurs="0" name="Site" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RoverImageMetaData" nillable="true" type="tns:RoverImageMetaData" />
  <xs:complexType name="ArrayOfCircularCraterDefinition">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="CircularCraterDefinition" nillable="true" type="tns:CircularCraterDefinition" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCircularCraterDefinition" nillable="true" type="tns:ArrayOfCircularCraterDefinition" />
  <xs:complexType name="CircularCraterDefinition">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AbstractGalaxyZooObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Diameter" type="xs:double" />
          <xs:element minOccurs="0" name="OffsetCenterX" type="xs:double" />
          <xs:element minOccurs="0" name="OffsetCenterY" type="xs:double" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CircularCraterDefinition" nillable="true" type="tns:CircularCraterDefinition" />
  <xs:complexType name="ArrayOfNudgeInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="NudgeInfo" nillable="true" type="tns:NudgeInfo" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfNudgeInfo" nillable="true" type="tns:ArrayOfNudgeInfo" />
  <xs:complexType name="NudgeInfo">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:AbstractGalaxyZooObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="DisplayedAtZoom" type="xs:double" />
          <xs:element minOccurs="0" name="NudgedXOffset" type="xs:double" />
          <xs:element minOccurs="0" name="NudgedYOffset" type="xs:double" />
          <xs:element minOccurs="0" name="OriginalMaxLat" type="xs:double" />
          <xs:element minOccurs="0" name="OriginalMaxLong" type="xs:double" />
          <xs:element minOccurs="0" name="OriginalMinLat" type="xs:double" />
          <xs:element minOccurs="0" name="OriginalMinLong" type="xs:double" />
          <xs:element minOccurs="0" name="Passed" type="xs:boolean" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="NudgeInfo" nillable="true" type="tns:NudgeInfo" />
</xs:schema>